package net.asrsmid.connection;

import org.apache.commons.pool.PoolableObjectFactory;
import org.apache.commons.pool.impl.GenericObjectPool;

/**
 * @author Chen WANG
 * @since 23 June 2011
 */
public abstract class AsRsPoolableConnectionFactory implements PoolableObjectFactory {
	protected GenericObjectPool pool;
	
	public AsRsPoolableConnectionFactory(GenericObjectPool pool) {
		this.pool = pool;
	}

	public abstract void activateObject(Object arg0) throws Exception;

	public abstract void destroyObject(Object arg0) throws Exception;

	public abstract Object makeObject() throws Exception;

	public abstract void passivateObject(Object arg0) throws Exception;

	public abstract boolean validateObject(Object arg0);
}
